package cn.org.xwb.bookmall.admin.service;

import cn.org.xwb.bookmall.model.po.Authority;
import cn.org.xwb.bookmall.model.po.ProductCategory;
import cn.org.xwb.bookmall.model.po.ProductCategorySub;
import cn.org.xwb.common.model.vo.RespResult;

import java.util.List;

public interface AdminManagerService {

    /**
     * 分页获取允许登录的邮箱
     *
     * @param current 第几页
     * @param size 每个数据个数
     * @param disabled 是否禁用的邮箱
     * @param match 模糊匹配条件
     * @return
     */
    RespResult<Object> getAllowMailsPage(Integer current, Integer size, Boolean disabled, String match);

    /**
     * 查询所有权限
     *
     * @return
     */
    RespResult<Object> getAllAuthority();

    /**
     * 分页获取权限列表
     *
     * @param current 第几页
     * @param pageSize 每页数据个数
     * @param disabled 是否禁用
     * @param nameMatch 权限名称匹配
     * @param codeMatch 权限编码匹配
     * @return
     */
    RespResult<Object> getAuthorityPage(Integer current, Integer pageSize, Boolean disabled, String nameMatch, String codeMatch);

    /**
     * 添加权限
     *
     * @param authority 新权限
     * @return
     */
    RespResult<Object> addAuthority(Authority authority);

    /**
     * 更新权限
     *
     * @param authority
     * @return
     */
    RespResult<Object> updateAuthority(Authority authority);

    /**
     * 删除权限
     *
     * @param id
     * @return
     */
    RespResult<Object> delAuthority(Long id);

}
